"""
字符串拼接
"""
name = """zhang 
                xiao 
                    san"""

# 结果 zhang
#                 xiao
#                     san

name2 = "zhang \
                xiao \
                    san"
# 结果 zhang                 xiao                     san

# 字符换拼接
str1 = "hello "
str2 = "world"
print(str1 + str2)
# 结果 hello world
# 将列表中的字符串连接起来并使用空字符串“”作为连接符
str4 = "".join([str1, str2, "!"])
print(str4)
# 结果：hello world!

print("----------------格式化--------------")
# 字符串格式化，使用 % 进行格式化
str5 = "my name is %s ,my age is %d" % ("lishi", 10)
print(str5)
# 使用format进行格式化，{}被用作占位符
my_name = "wangwu"
my_age = 15
str6 = "my name is {}, my age is {}".format(my_name, my_age)
# 或者使用f-string进行格式化
str7 = f"my name is {my_name}, my age is {my_age}"
print(str6)
print(str7)

print("----------------大小写转换--------------")
# 字符传转换
print(str1.upper())
print(str1.lower())
# 首字母大写 Hello
print(str1.capitalize())
# 首字母小写
print(str1.casefold())
# 返回每个单词的首字母大写版本 Hello World!
print(str4.title())

print("----------------查找替换--------------")
# 查找子字符串首次出现的位置 2，未找到则返回-1，可以指定起始位置
print(str1.find("llo"))
print(str1.find("o",2,4))
# index方法中如果找不到则抛出异常
# print(str1.index("o",2,4))
# 子串在str中出现的次数
str1.count("a")

# 替换，全域匹配替换，返回副本
# new_str = str.replace("o","a")
print(str)
# print(new_str)

# 分割，返回一个列表对象
str.split("切割符")

# 取出前后空格和换行符，返回处理后的字符串
# str.strip()
# 去除匹配的字符串，实际是去除子串中每一个匹配的字符，例如：ac，只要满足a或者c就会被去除，同时去除str的前后空格和换行符
str.strip("子字符串")

# 字符串中start-end索引是否以"suffix"结束
# str.endswith("a")

print("----------------格式规整--------------")
# 将tab转换成空格，默认一个tab转换成8个空格
# str.expandtabs(tabsize=8)

# 内容居中，width：总长度；fillchar：空白处填充内容，默认是空格
# str.center("width", "fillchar")
# 内容左对齐，右侧填充
# str.ljust("aaa")
# 将字符串分割为前，中（sep），后三部分
# 返回一个3元的元组，第一个为分隔符左边的子串，第二个为分隔符本身，第三个为分隔符右边的子串。
str = "www.runoob.com"
str.partition(".")

# 成员运算
main_string = "Hello, world!"
# 检查这个字符串是否不包含子字符串 "Python"
if "Python" not in main_string:
    print("字符串不包含 'Python'")
else:
    print("字符串包含 'Python'")

print("----------------计数统计--------------")
# 字符串长度
len(str)

print("----------------切片操作--------------")
str4 = "abcde"
print(str4[2::-1])
print(str4[-3::-1])
# 输出结果都是cba



